package com.rc.saas.tenant.model.elec;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ElecGunExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ElecGunExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andElecGunIdIsNull() {
            addCriterion("elec_gun_id is null");
            return (Criteria) this;
        }

        public Criteria andElecGunIdIsNotNull() {
            addCriterion("elec_gun_id is not null");
            return (Criteria) this;
        }

        public Criteria andElecGunIdEqualTo(Long value) {
            addCriterion("elec_gun_id =", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdNotEqualTo(Long value) {
            addCriterion("elec_gun_id <>", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdGreaterThan(Long value) {
            addCriterion("elec_gun_id >", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdGreaterThanOrEqualTo(Long value) {
            addCriterion("elec_gun_id >=", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdLessThan(Long value) {
            addCriterion("elec_gun_id <", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdLessThanOrEqualTo(Long value) {
            addCriterion("elec_gun_id <=", value, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdIn(List<Long> values) {
            addCriterion("elec_gun_id in", values, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdNotIn(List<Long> values) {
            addCriterion("elec_gun_id not in", values, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdBetween(Long value1, Long value2) {
            addCriterion("elec_gun_id between", value1, value2, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andElecGunIdNotBetween(Long value1, Long value2) {
            addCriterion("elec_gun_id not between", value1, value2, "elecGunId");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIsNull() {
            addCriterion("tenant_code is null");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIsNotNull() {
            addCriterion("tenant_code is not null");
            return (Criteria) this;
        }

        public Criteria andTenantCodeEqualTo(String value) {
            addCriterion("tenant_code =", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotEqualTo(String value) {
            addCriterion("tenant_code <>", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeGreaterThan(String value) {
            addCriterion("tenant_code >", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_code >=", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLessThan(String value) {
            addCriterion("tenant_code <", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLessThanOrEqualTo(String value) {
            addCriterion("tenant_code <=", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLike(String value) {
            addCriterion("tenant_code like", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotLike(String value) {
            addCriterion("tenant_code not like", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIn(List<String> values) {
            addCriterion("tenant_code in", values, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotIn(List<String> values) {
            addCriterion("tenant_code not in", values, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeBetween(String value1, String value2) {
            addCriterion("tenant_code between", value1, value2, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotBetween(String value1, String value2) {
            addCriterion("tenant_code not between", value1, value2, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNull() {
            addCriterion("operator_id is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNotNull() {
            addCriterion("operator_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdEqualTo(Long value) {
            addCriterion("operator_id =", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotEqualTo(Long value) {
            addCriterion("operator_id <>", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThan(Long value) {
            addCriterion("operator_id >", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(Long value) {
            addCriterion("operator_id >=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThan(Long value) {
            addCriterion("operator_id <", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThanOrEqualTo(Long value) {
            addCriterion("operator_id <=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIn(List<Long> values) {
            addCriterion("operator_id in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotIn(List<Long> values) {
            addCriterion("operator_id not in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdBetween(Long value1, Long value2) {
            addCriterion("operator_id between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotBetween(Long value1, Long value2) {
            addCriterion("operator_id not between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdIsNull() {
            addCriterion("hlht_operator_id is null");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdIsNotNull() {
            addCriterion("hlht_operator_id is not null");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdEqualTo(String value) {
            addCriterion("hlht_operator_id =", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdNotEqualTo(String value) {
            addCriterion("hlht_operator_id <>", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdGreaterThan(String value) {
            addCriterion("hlht_operator_id >", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdGreaterThanOrEqualTo(String value) {
            addCriterion("hlht_operator_id >=", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdLessThan(String value) {
            addCriterion("hlht_operator_id <", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdLessThanOrEqualTo(String value) {
            addCriterion("hlht_operator_id <=", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdLike(String value) {
            addCriterion("hlht_operator_id like", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdNotLike(String value) {
            addCriterion("hlht_operator_id not like", value, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdIn(List<String> values) {
            addCriterion("hlht_operator_id in", values, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdNotIn(List<String> values) {
            addCriterion("hlht_operator_id not in", values, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdBetween(String value1, String value2) {
            addCriterion("hlht_operator_id between", value1, value2, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtOperatorIdNotBetween(String value1, String value2) {
            addCriterion("hlht_operator_id not between", value1, value2, "hlhtOperatorId");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoIsNull() {
            addCriterion("hlht_gun_no is null");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoIsNotNull() {
            addCriterion("hlht_gun_no is not null");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoEqualTo(String value) {
            addCriterion("hlht_gun_no =", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoNotEqualTo(String value) {
            addCriterion("hlht_gun_no <>", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoGreaterThan(String value) {
            addCriterion("hlht_gun_no >", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoGreaterThanOrEqualTo(String value) {
            addCriterion("hlht_gun_no >=", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoLessThan(String value) {
            addCriterion("hlht_gun_no <", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoLessThanOrEqualTo(String value) {
            addCriterion("hlht_gun_no <=", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoLike(String value) {
            addCriterion("hlht_gun_no like", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoNotLike(String value) {
            addCriterion("hlht_gun_no not like", value, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoIn(List<String> values) {
            addCriterion("hlht_gun_no in", values, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoNotIn(List<String> values) {
            addCriterion("hlht_gun_no not in", values, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoBetween(String value1, String value2) {
            addCriterion("hlht_gun_no between", value1, value2, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunNoNotBetween(String value1, String value2) {
            addCriterion("hlht_gun_no not between", value1, value2, "hlhtGunNo");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeIsNull() {
            addCriterion("hlht_gun_qrcode is null");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeIsNotNull() {
            addCriterion("hlht_gun_qrcode is not null");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeEqualTo(String value) {
            addCriterion("hlht_gun_qrcode =", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeNotEqualTo(String value) {
            addCriterion("hlht_gun_qrcode <>", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeGreaterThan(String value) {
            addCriterion("hlht_gun_qrcode >", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeGreaterThanOrEqualTo(String value) {
            addCriterion("hlht_gun_qrcode >=", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeLessThan(String value) {
            addCriterion("hlht_gun_qrcode <", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeLessThanOrEqualTo(String value) {
            addCriterion("hlht_gun_qrcode <=", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeLike(String value) {
            addCriterion("hlht_gun_qrcode like", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeNotLike(String value) {
            addCriterion("hlht_gun_qrcode not like", value, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeIn(List<String> values) {
            addCriterion("hlht_gun_qrcode in", values, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeNotIn(List<String> values) {
            addCriterion("hlht_gun_qrcode not in", values, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeBetween(String value1, String value2) {
            addCriterion("hlht_gun_qrcode between", value1, value2, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andHlhtGunQrcodeNotBetween(String value1, String value2) {
            addCriterion("hlht_gun_qrcode not between", value1, value2, "hlhtGunQrcode");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIsNull() {
            addCriterion("elec_station_id is null");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIsNotNull() {
            addCriterion("elec_station_id is not null");
            return (Criteria) this;
        }

        public Criteria andElecStationIdEqualTo(Long value) {
            addCriterion("elec_station_id =", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotEqualTo(Long value) {
            addCriterion("elec_station_id <>", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdGreaterThan(Long value) {
            addCriterion("elec_station_id >", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdGreaterThanOrEqualTo(Long value) {
            addCriterion("elec_station_id >=", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdLessThan(Long value) {
            addCriterion("elec_station_id <", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdLessThanOrEqualTo(Long value) {
            addCriterion("elec_station_id <=", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIn(List<Long> values) {
            addCriterion("elec_station_id in", values, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotIn(List<Long> values) {
            addCriterion("elec_station_id not in", values, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdBetween(Long value1, Long value2) {
            addCriterion("elec_station_id between", value1, value2, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotBetween(Long value1, Long value2) {
            addCriterion("elec_station_id not between", value1, value2, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdIsNull() {
            addCriterion("elec_pile_id is null");
            return (Criteria) this;
        }

        public Criteria andElecPileIdIsNotNull() {
            addCriterion("elec_pile_id is not null");
            return (Criteria) this;
        }

        public Criteria andElecPileIdEqualTo(Long value) {
            addCriterion("elec_pile_id =", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotEqualTo(Long value) {
            addCriterion("elec_pile_id <>", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdGreaterThan(Long value) {
            addCriterion("elec_pile_id >", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdGreaterThanOrEqualTo(Long value) {
            addCriterion("elec_pile_id >=", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdLessThan(Long value) {
            addCriterion("elec_pile_id <", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdLessThanOrEqualTo(Long value) {
            addCriterion("elec_pile_id <=", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdIn(List<Long> values) {
            addCriterion("elec_pile_id in", values, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotIn(List<Long> values) {
            addCriterion("elec_pile_id not in", values, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdBetween(Long value1, Long value2) {
            addCriterion("elec_pile_id between", value1, value2, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotBetween(Long value1, Long value2) {
            addCriterion("elec_pile_id not between", value1, value2, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andGunBandIsNull() {
            addCriterion("gun_band is null");
            return (Criteria) this;
        }

        public Criteria andGunBandIsNotNull() {
            addCriterion("gun_band is not null");
            return (Criteria) this;
        }

        public Criteria andGunBandEqualTo(String value) {
            addCriterion("gun_band =", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandNotEqualTo(String value) {
            addCriterion("gun_band <>", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandGreaterThan(String value) {
            addCriterion("gun_band >", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandGreaterThanOrEqualTo(String value) {
            addCriterion("gun_band >=", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandLessThan(String value) {
            addCriterion("gun_band <", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandLessThanOrEqualTo(String value) {
            addCriterion("gun_band <=", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandLike(String value) {
            addCriterion("gun_band like", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandNotLike(String value) {
            addCriterion("gun_band not like", value, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandIn(List<String> values) {
            addCriterion("gun_band in", values, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandNotIn(List<String> values) {
            addCriterion("gun_band not in", values, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandBetween(String value1, String value2) {
            addCriterion("gun_band between", value1, value2, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunBandNotBetween(String value1, String value2) {
            addCriterion("gun_band not between", value1, value2, "gunBand");
            return (Criteria) this;
        }

        public Criteria andGunTypeIsNull() {
            addCriterion("gun_type is null");
            return (Criteria) this;
        }

        public Criteria andGunTypeIsNotNull() {
            addCriterion("gun_type is not null");
            return (Criteria) this;
        }

        public Criteria andGunTypeEqualTo(Integer value) {
            addCriterion("gun_type =", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeNotEqualTo(Integer value) {
            addCriterion("gun_type <>", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeGreaterThan(Integer value) {
            addCriterion("gun_type >", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("gun_type >=", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeLessThan(Integer value) {
            addCriterion("gun_type <", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeLessThanOrEqualTo(Integer value) {
            addCriterion("gun_type <=", value, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeIn(List<Integer> values) {
            addCriterion("gun_type in", values, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeNotIn(List<Integer> values) {
            addCriterion("gun_type not in", values, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeBetween(Integer value1, Integer value2) {
            addCriterion("gun_type between", value1, value2, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("gun_type not between", value1, value2, "gunType");
            return (Criteria) this;
        }

        public Criteria andGunNoIsNull() {
            addCriterion("gun_no is null");
            return (Criteria) this;
        }

        public Criteria andGunNoIsNotNull() {
            addCriterion("gun_no is not null");
            return (Criteria) this;
        }

        public Criteria andGunNoEqualTo(String value) {
            addCriterion("gun_no =", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoNotEqualTo(String value) {
            addCriterion("gun_no <>", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoGreaterThan(String value) {
            addCriterion("gun_no >", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoGreaterThanOrEqualTo(String value) {
            addCriterion("gun_no >=", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoLessThan(String value) {
            addCriterion("gun_no <", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoLessThanOrEqualTo(String value) {
            addCriterion("gun_no <=", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoLike(String value) {
            addCriterion("gun_no like", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoNotLike(String value) {
            addCriterion("gun_no not like", value, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoIn(List<String> values) {
            addCriterion("gun_no in", values, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoNotIn(List<String> values) {
            addCriterion("gun_no not in", values, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoBetween(String value1, String value2) {
            addCriterion("gun_no between", value1, value2, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNoNotBetween(String value1, String value2) {
            addCriterion("gun_no not between", value1, value2, "gunNo");
            return (Criteria) this;
        }

        public Criteria andGunNumIsNull() {
            addCriterion("gun_num is null");
            return (Criteria) this;
        }

        public Criteria andGunNumIsNotNull() {
            addCriterion("gun_num is not null");
            return (Criteria) this;
        }

        public Criteria andGunNumEqualTo(String value) {
            addCriterion("gun_num =", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumNotEqualTo(String value) {
            addCriterion("gun_num <>", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumGreaterThan(String value) {
            addCriterion("gun_num >", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumGreaterThanOrEqualTo(String value) {
            addCriterion("gun_num >=", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumLessThan(String value) {
            addCriterion("gun_num <", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumLessThanOrEqualTo(String value) {
            addCriterion("gun_num <=", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumLike(String value) {
            addCriterion("gun_num like", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumNotLike(String value) {
            addCriterion("gun_num not like", value, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumIn(List<String> values) {
            addCriterion("gun_num in", values, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumNotIn(List<String> values) {
            addCriterion("gun_num not in", values, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumBetween(String value1, String value2) {
            addCriterion("gun_num between", value1, value2, "gunNum");
            return (Criteria) this;
        }

        public Criteria andGunNumNotBetween(String value1, String value2) {
            addCriterion("gun_num not between", value1, value2, "gunNum");
            return (Criteria) this;
        }

        public Criteria andPileRutaIsNull() {
            addCriterion("pile_ruta is null");
            return (Criteria) this;
        }

        public Criteria andPileRutaIsNotNull() {
            addCriterion("pile_ruta is not null");
            return (Criteria) this;
        }

        public Criteria andPileRutaEqualTo(String value) {
            addCriterion("pile_ruta =", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaNotEqualTo(String value) {
            addCriterion("pile_ruta <>", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaGreaterThan(String value) {
            addCriterion("pile_ruta >", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaGreaterThanOrEqualTo(String value) {
            addCriterion("pile_ruta >=", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaLessThan(String value) {
            addCriterion("pile_ruta <", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaLessThanOrEqualTo(String value) {
            addCriterion("pile_ruta <=", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaLike(String value) {
            addCriterion("pile_ruta like", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaNotLike(String value) {
            addCriterion("pile_ruta not like", value, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaIn(List<String> values) {
            addCriterion("pile_ruta in", values, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaNotIn(List<String> values) {
            addCriterion("pile_ruta not in", values, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaBetween(String value1, String value2) {
            addCriterion("pile_ruta between", value1, value2, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andPileRutaNotBetween(String value1, String value2) {
            addCriterion("pile_ruta not between", value1, value2, "pileRuta");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsIsNull() {
            addCriterion("voltage_upper_limits is null");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsIsNotNull() {
            addCriterion("voltage_upper_limits is not null");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsEqualTo(Integer value) {
            addCriterion("voltage_upper_limits =", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsNotEqualTo(Integer value) {
            addCriterion("voltage_upper_limits <>", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsGreaterThan(Integer value) {
            addCriterion("voltage_upper_limits >", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsGreaterThanOrEqualTo(Integer value) {
            addCriterion("voltage_upper_limits >=", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsLessThan(Integer value) {
            addCriterion("voltage_upper_limits <", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsLessThanOrEqualTo(Integer value) {
            addCriterion("voltage_upper_limits <=", value, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsIn(List<Integer> values) {
            addCriterion("voltage_upper_limits in", values, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsNotIn(List<Integer> values) {
            addCriterion("voltage_upper_limits not in", values, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsBetween(Integer value1, Integer value2) {
            addCriterion("voltage_upper_limits between", value1, value2, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageUpperLimitsNotBetween(Integer value1, Integer value2) {
            addCriterion("voltage_upper_limits not between", value1, value2, "voltageUpperLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsIsNull() {
            addCriterion("voltage_lower_limits is null");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsIsNotNull() {
            addCriterion("voltage_lower_limits is not null");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsEqualTo(Integer value) {
            addCriterion("voltage_lower_limits =", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsNotEqualTo(Integer value) {
            addCriterion("voltage_lower_limits <>", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsGreaterThan(Integer value) {
            addCriterion("voltage_lower_limits >", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsGreaterThanOrEqualTo(Integer value) {
            addCriterion("voltage_lower_limits >=", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsLessThan(Integer value) {
            addCriterion("voltage_lower_limits <", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsLessThanOrEqualTo(Integer value) {
            addCriterion("voltage_lower_limits <=", value, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsIn(List<Integer> values) {
            addCriterion("voltage_lower_limits in", values, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsNotIn(List<Integer> values) {
            addCriterion("voltage_lower_limits not in", values, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsBetween(Integer value1, Integer value2) {
            addCriterion("voltage_lower_limits between", value1, value2, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andVoltageLowerLimitsNotBetween(Integer value1, Integer value2) {
            addCriterion("voltage_lower_limits not between", value1, value2, "voltageLowerLimits");
            return (Criteria) this;
        }

        public Criteria andCurrentIsNull() {
            addCriterion("current is null");
            return (Criteria) this;
        }

        public Criteria andCurrentIsNotNull() {
            addCriterion("current is not null");
            return (Criteria) this;
        }

        public Criteria andCurrentEqualTo(Integer value) {
            addCriterion("current =", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotEqualTo(Integer value) {
            addCriterion("current <>", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentGreaterThan(Integer value) {
            addCriterion("current >", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentGreaterThanOrEqualTo(Integer value) {
            addCriterion("current >=", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentLessThan(Integer value) {
            addCriterion("current <", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentLessThanOrEqualTo(Integer value) {
            addCriterion("current <=", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentIn(List<Integer> values) {
            addCriterion("current in", values, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotIn(List<Integer> values) {
            addCriterion("current not in", values, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentBetween(Integer value1, Integer value2) {
            addCriterion("current between", value1, value2, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotBetween(Integer value1, Integer value2) {
            addCriterion("current not between", value1, value2, "current");
            return (Criteria) this;
        }

        public Criteria andPowerIsNull() {
            addCriterion("power is null");
            return (Criteria) this;
        }

        public Criteria andPowerIsNotNull() {
            addCriterion("power is not null");
            return (Criteria) this;
        }

        public Criteria andPowerEqualTo(BigDecimal value) {
            addCriterion("power =", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotEqualTo(BigDecimal value) {
            addCriterion("power <>", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThan(BigDecimal value) {
            addCriterion("power >", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("power >=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThan(BigDecimal value) {
            addCriterion("power <", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThanOrEqualTo(BigDecimal value) {
            addCriterion("power <=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerIn(List<BigDecimal> values) {
            addCriterion("power in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotIn(List<BigDecimal> values) {
            addCriterion("power not in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("power between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("power not between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andSocIsNull() {
            addCriterion("soc is null");
            return (Criteria) this;
        }

        public Criteria andSocIsNotNull() {
            addCriterion("soc is not null");
            return (Criteria) this;
        }

        public Criteria andSocEqualTo(BigDecimal value) {
            addCriterion("soc =", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocNotEqualTo(BigDecimal value) {
            addCriterion("soc <>", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocGreaterThan(BigDecimal value) {
            addCriterion("soc >", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("soc >=", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocLessThan(BigDecimal value) {
            addCriterion("soc <", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocLessThanOrEqualTo(BigDecimal value) {
            addCriterion("soc <=", value, "soc");
            return (Criteria) this;
        }

        public Criteria andSocIn(List<BigDecimal> values) {
            addCriterion("soc in", values, "soc");
            return (Criteria) this;
        }

        public Criteria andSocNotIn(List<BigDecimal> values) {
            addCriterion("soc not in", values, "soc");
            return (Criteria) this;
        }

        public Criteria andSocBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("soc between", value1, value2, "soc");
            return (Criteria) this;
        }

        public Criteria andSocNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("soc not between", value1, value2, "soc");
            return (Criteria) this;
        }

        public Criteria andParkNoIsNull() {
            addCriterion("park_no is null");
            return (Criteria) this;
        }

        public Criteria andParkNoIsNotNull() {
            addCriterion("park_no is not null");
            return (Criteria) this;
        }

        public Criteria andParkNoEqualTo(String value) {
            addCriterion("park_no =", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoNotEqualTo(String value) {
            addCriterion("park_no <>", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoGreaterThan(String value) {
            addCriterion("park_no >", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoGreaterThanOrEqualTo(String value) {
            addCriterion("park_no >=", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoLessThan(String value) {
            addCriterion("park_no <", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoLessThanOrEqualTo(String value) {
            addCriterion("park_no <=", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoLike(String value) {
            addCriterion("park_no like", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoNotLike(String value) {
            addCriterion("park_no not like", value, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoIn(List<String> values) {
            addCriterion("park_no in", values, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoNotIn(List<String> values) {
            addCriterion("park_no not in", values, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoBetween(String value1, String value2) {
            addCriterion("park_no between", value1, value2, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkNoNotBetween(String value1, String value2) {
            addCriterion("park_no not between", value1, value2, "parkNo");
            return (Criteria) this;
        }

        public Criteria andParkStatusIsNull() {
            addCriterion("park_status is null");
            return (Criteria) this;
        }

        public Criteria andParkStatusIsNotNull() {
            addCriterion("park_status is not null");
            return (Criteria) this;
        }

        public Criteria andParkStatusEqualTo(Integer value) {
            addCriterion("park_status =", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusNotEqualTo(Integer value) {
            addCriterion("park_status <>", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusGreaterThan(Integer value) {
            addCriterion("park_status >", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("park_status >=", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusLessThan(Integer value) {
            addCriterion("park_status <", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusLessThanOrEqualTo(Integer value) {
            addCriterion("park_status <=", value, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusIn(List<Integer> values) {
            addCriterion("park_status in", values, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusNotIn(List<Integer> values) {
            addCriterion("park_status not in", values, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusBetween(Integer value1, Integer value2) {
            addCriterion("park_status between", value1, value2, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andParkStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("park_status not between", value1, value2, "parkStatus");
            return (Criteria) this;
        }

        public Criteria andNationalStandardIsNull() {
            addCriterion("national_standard is null");
            return (Criteria) this;
        }

        public Criteria andNationalStandardIsNotNull() {
            addCriterion("national_standard is not null");
            return (Criteria) this;
        }

        public Criteria andNationalStandardEqualTo(String value) {
            addCriterion("national_standard =", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardNotEqualTo(String value) {
            addCriterion("national_standard <>", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardGreaterThan(String value) {
            addCriterion("national_standard >", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardGreaterThanOrEqualTo(String value) {
            addCriterion("national_standard >=", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardLessThan(String value) {
            addCriterion("national_standard <", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardLessThanOrEqualTo(String value) {
            addCriterion("national_standard <=", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardLike(String value) {
            addCriterion("national_standard like", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardNotLike(String value) {
            addCriterion("national_standard not like", value, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardIn(List<String> values) {
            addCriterion("national_standard in", values, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardNotIn(List<String> values) {
            addCriterion("national_standard not in", values, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardBetween(String value1, String value2) {
            addCriterion("national_standard between", value1, value2, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andNationalStandardNotBetween(String value1, String value2) {
            addCriterion("national_standard not between", value1, value2, "nationalStandard");
            return (Criteria) this;
        }

        public Criteria andLockStatusIsNull() {
            addCriterion("lock_status is null");
            return (Criteria) this;
        }

        public Criteria andLockStatusIsNotNull() {
            addCriterion("lock_status is not null");
            return (Criteria) this;
        }

        public Criteria andLockStatusEqualTo(Integer value) {
            addCriterion("lock_status =", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusNotEqualTo(Integer value) {
            addCriterion("lock_status <>", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusGreaterThan(Integer value) {
            addCriterion("lock_status >", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("lock_status >=", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusLessThan(Integer value) {
            addCriterion("lock_status <", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusLessThanOrEqualTo(Integer value) {
            addCriterion("lock_status <=", value, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusIn(List<Integer> values) {
            addCriterion("lock_status in", values, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusNotIn(List<Integer> values) {
            addCriterion("lock_status not in", values, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusBetween(Integer value1, Integer value2) {
            addCriterion("lock_status between", value1, value2, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andLockStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("lock_status not between", value1, value2, "lockStatus");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdIsNull() {
            addCriterion("manufacturer_id is null");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdIsNotNull() {
            addCriterion("manufacturer_id is not null");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdEqualTo(Long value) {
            addCriterion("manufacturer_id =", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdNotEqualTo(Long value) {
            addCriterion("manufacturer_id <>", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdGreaterThan(Long value) {
            addCriterion("manufacturer_id >", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("manufacturer_id >=", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdLessThan(Long value) {
            addCriterion("manufacturer_id <", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdLessThanOrEqualTo(Long value) {
            addCriterion("manufacturer_id <=", value, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdIn(List<Long> values) {
            addCriterion("manufacturer_id in", values, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdNotIn(List<Long> values) {
            addCriterion("manufacturer_id not in", values, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdBetween(Long value1, Long value2) {
            addCriterion("manufacturer_id between", value1, value2, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andManufacturerIdNotBetween(Long value1, Long value2) {
            addCriterion("manufacturer_id not between", value1, value2, "manufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdIsNull() {
            addCriterion("hlht_manufacturer_id is null");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdIsNotNull() {
            addCriterion("hlht_manufacturer_id is not null");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdEqualTo(String value) {
            addCriterion("hlht_manufacturer_id =", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdNotEqualTo(String value) {
            addCriterion("hlht_manufacturer_id <>", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdGreaterThan(String value) {
            addCriterion("hlht_manufacturer_id >", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdGreaterThanOrEqualTo(String value) {
            addCriterion("hlht_manufacturer_id >=", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdLessThan(String value) {
            addCriterion("hlht_manufacturer_id <", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdLessThanOrEqualTo(String value) {
            addCriterion("hlht_manufacturer_id <=", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdLike(String value) {
            addCriterion("hlht_manufacturer_id like", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdNotLike(String value) {
            addCriterion("hlht_manufacturer_id not like", value, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdIn(List<String> values) {
            addCriterion("hlht_manufacturer_id in", values, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdNotIn(List<String> values) {
            addCriterion("hlht_manufacturer_id not in", values, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdBetween(String value1, String value2) {
            addCriterion("hlht_manufacturer_id between", value1, value2, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerIdNotBetween(String value1, String value2) {
            addCriterion("hlht_manufacturer_id not between", value1, value2, "hlhtManufacturerId");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameIsNull() {
            addCriterion("hlht_manufacturer_name is null");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameIsNotNull() {
            addCriterion("hlht_manufacturer_name is not null");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameEqualTo(String value) {
            addCriterion("hlht_manufacturer_name =", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameNotEqualTo(String value) {
            addCriterion("hlht_manufacturer_name <>", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameGreaterThan(String value) {
            addCriterion("hlht_manufacturer_name >", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameGreaterThanOrEqualTo(String value) {
            addCriterion("hlht_manufacturer_name >=", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameLessThan(String value) {
            addCriterion("hlht_manufacturer_name <", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameLessThanOrEqualTo(String value) {
            addCriterion("hlht_manufacturer_name <=", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameLike(String value) {
            addCriterion("hlht_manufacturer_name like", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameNotLike(String value) {
            addCriterion("hlht_manufacturer_name not like", value, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameIn(List<String> values) {
            addCriterion("hlht_manufacturer_name in", values, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameNotIn(List<String> values) {
            addCriterion("hlht_manufacturer_name not in", values, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameBetween(String value1, String value2) {
            addCriterion("hlht_manufacturer_name between", value1, value2, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andHlhtManufacturerNameNotBetween(String value1, String value2) {
            addCriterion("hlht_manufacturer_name not between", value1, value2, "hlhtManufacturerName");
            return (Criteria) this;
        }

        public Criteria andSortNumIsNull() {
            addCriterion("sort_num is null");
            return (Criteria) this;
        }

        public Criteria andSortNumIsNotNull() {
            addCriterion("sort_num is not null");
            return (Criteria) this;
        }

        public Criteria andSortNumEqualTo(Integer value) {
            addCriterion("sort_num =", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotEqualTo(Integer value) {
            addCriterion("sort_num <>", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumGreaterThan(Integer value) {
            addCriterion("sort_num >", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort_num >=", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumLessThan(Integer value) {
            addCriterion("sort_num <", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumLessThanOrEqualTo(Integer value) {
            addCriterion("sort_num <=", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumIn(List<Integer> values) {
            addCriterion("sort_num in", values, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotIn(List<Integer> values) {
            addCriterion("sort_num not in", values, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumBetween(Integer value1, Integer value2) {
            addCriterion("sort_num between", value1, value2, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotBetween(Integer value1, Integer value2) {
            addCriterion("sort_num not between", value1, value2, "sortNum");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andNormalStatusIsNull() {
            addCriterion("normal_status is null");
            return (Criteria) this;
        }

        public Criteria andNormalStatusIsNotNull() {
            addCriterion("normal_status is not null");
            return (Criteria) this;
        }

        public Criteria andNormalStatusEqualTo(Integer value) {
            addCriterion("normal_status =", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusNotEqualTo(Integer value) {
            addCriterion("normal_status <>", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusGreaterThan(Integer value) {
            addCriterion("normal_status >", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("normal_status >=", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusLessThan(Integer value) {
            addCriterion("normal_status <", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusLessThanOrEqualTo(Integer value) {
            addCriterion("normal_status <=", value, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusIn(List<Integer> values) {
            addCriterion("normal_status in", values, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusNotIn(List<Integer> values) {
            addCriterion("normal_status not in", values, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusBetween(Integer value1, Integer value2) {
            addCriterion("normal_status between", value1, value2, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andNormalStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("normal_status not between", value1, value2, "normalStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusIsNull() {
            addCriterion("operate_status is null");
            return (Criteria) this;
        }

        public Criteria andOperateStatusIsNotNull() {
            addCriterion("operate_status is not null");
            return (Criteria) this;
        }

        public Criteria andOperateStatusEqualTo(String value) {
            addCriterion("operate_status =", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusNotEqualTo(String value) {
            addCriterion("operate_status <>", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusGreaterThan(String value) {
            addCriterion("operate_status >", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusGreaterThanOrEqualTo(String value) {
            addCriterion("operate_status >=", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusLessThan(String value) {
            addCriterion("operate_status <", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusLessThanOrEqualTo(String value) {
            addCriterion("operate_status <=", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusLike(String value) {
            addCriterion("operate_status like", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusNotLike(String value) {
            addCriterion("operate_status not like", value, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusIn(List<String> values) {
            addCriterion("operate_status in", values, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusNotIn(List<String> values) {
            addCriterion("operate_status not in", values, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusBetween(String value1, String value2) {
            addCriterion("operate_status between", value1, value2, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOperateStatusNotBetween(String value1, String value2) {
            addCriterion("operate_status not between", value1, value2, "operateStatus");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeIsNull() {
            addCriterion("op_plugin_type is null");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeIsNotNull() {
            addCriterion("op_plugin_type is not null");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeEqualTo(String value) {
            addCriterion("op_plugin_type =", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeNotEqualTo(String value) {
            addCriterion("op_plugin_type <>", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeGreaterThan(String value) {
            addCriterion("op_plugin_type >", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeGreaterThanOrEqualTo(String value) {
            addCriterion("op_plugin_type >=", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeLessThan(String value) {
            addCriterion("op_plugin_type <", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeLessThanOrEqualTo(String value) {
            addCriterion("op_plugin_type <=", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeLike(String value) {
            addCriterion("op_plugin_type like", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeNotLike(String value) {
            addCriterion("op_plugin_type not like", value, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeIn(List<String> values) {
            addCriterion("op_plugin_type in", values, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeNotIn(List<String> values) {
            addCriterion("op_plugin_type not in", values, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeBetween(String value1, String value2) {
            addCriterion("op_plugin_type between", value1, value2, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpPluginTypeNotBetween(String value1, String value2) {
            addCriterion("op_plugin_type not between", value1, value2, "opPluginType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeIsNull() {
            addCriterion("op_close_type is null");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeIsNotNull() {
            addCriterion("op_close_type is not null");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeEqualTo(String value) {
            addCriterion("op_close_type =", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeNotEqualTo(String value) {
            addCriterion("op_close_type <>", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeGreaterThan(String value) {
            addCriterion("op_close_type >", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeGreaterThanOrEqualTo(String value) {
            addCriterion("op_close_type >=", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeLessThan(String value) {
            addCriterion("op_close_type <", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeLessThanOrEqualTo(String value) {
            addCriterion("op_close_type <=", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeLike(String value) {
            addCriterion("op_close_type like", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeNotLike(String value) {
            addCriterion("op_close_type not like", value, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeIn(List<String> values) {
            addCriterion("op_close_type in", values, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeNotIn(List<String> values) {
            addCriterion("op_close_type not in", values, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeBetween(String value1, String value2) {
            addCriterion("op_close_type between", value1, value2, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andOpCloseTypeNotBetween(String value1, String value2) {
            addCriterion("op_close_type not between", value1, value2, "opCloseType");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNull() {
            addCriterion("created_by is null");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNotNull() {
            addCriterion("created_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedByEqualTo(String value) {
            addCriterion("created_by =", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotEqualTo(String value) {
            addCriterion("created_by <>", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThan(String value) {
            addCriterion("created_by >", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
            addCriterion("created_by >=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThan(String value) {
            addCriterion("created_by <", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThanOrEqualTo(String value) {
            addCriterion("created_by <=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLike(String value) {
            addCriterion("created_by like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotLike(String value) {
            addCriterion("created_by not like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByIn(List<String> values) {
            addCriterion("created_by in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotIn(List<String> values) {
            addCriterion("created_by not in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByBetween(String value1, String value2) {
            addCriterion("created_by between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotBetween(String value1, String value2) {
            addCriterion("created_by not between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNull() {
            addCriterion("created_time is null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNotNull() {
            addCriterion("created_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeEqualTo(Date value) {
            addCriterion("created_time =", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotEqualTo(Date value) {
            addCriterion("created_time <>", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThan(Date value) {
            addCriterion("created_time >", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("created_time >=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThan(Date value) {
            addCriterion("created_time <", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("created_time <=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIn(List<Date> values) {
            addCriterion("created_time in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotIn(List<Date> values) {
            addCriterion("created_time not in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
            addCriterion("created_time between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("created_time not between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIsNull() {
            addCriterion("last_updated_by is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIsNotNull() {
            addCriterion("last_updated_by is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByEqualTo(String value) {
            addCriterion("last_updated_by =", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotEqualTo(String value) {
            addCriterion("last_updated_by <>", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByGreaterThan(String value) {
            addCriterion("last_updated_by >", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByGreaterThanOrEqualTo(String value) {
            addCriterion("last_updated_by >=", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLessThan(String value) {
            addCriterion("last_updated_by <", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLessThanOrEqualTo(String value) {
            addCriterion("last_updated_by <=", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLike(String value) {
            addCriterion("last_updated_by like", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotLike(String value) {
            addCriterion("last_updated_by not like", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIn(List<String> values) {
            addCriterion("last_updated_by in", values, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotIn(List<String> values) {
            addCriterion("last_updated_by not in", values, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByBetween(String value1, String value2) {
            addCriterion("last_updated_by between", value1, value2, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotBetween(String value1, String value2) {
            addCriterion("last_updated_by not between", value1, value2, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIsNull() {
            addCriterion("last_updated_time is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIsNotNull() {
            addCriterion("last_updated_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeEqualTo(Date value) {
            addCriterion("last_updated_time =", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotEqualTo(Date value) {
            addCriterion("last_updated_time <>", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeGreaterThan(Date value) {
            addCriterion("last_updated_time >", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_updated_time >=", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeLessThan(Date value) {
            addCriterion("last_updated_time <", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_updated_time <=", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIn(List<Date> values) {
            addCriterion("last_updated_time in", values, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotIn(List<Date> values) {
            addCriterion("last_updated_time not in", values, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeBetween(Date value1, Date value2) {
            addCriterion("last_updated_time between", value1, value2, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_updated_time not between", value1, value2, "lastUpdatedTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}